Skip to main content

Parameter parsing for scripts

Create script, Update script, and Deploy commands evaluate parameters from a Cloud Code script.

In the example Script.js, one parameter with name range and type NUMERIC is parsed and uploaded to UGS.

For more details, check Declare parameters in the script.

Append Parameter into Cloud Code Script during Fetch

To ensure Fetch command fetching the exact Cloud Code script information from service, UGS CLI will look up parameters declared for the script in service.

If there are parameters declared from service, and there's no parameter in service script code. Fetch command will update local script code and declare parameter. This means a section like below might be appended into your local script code:

module.exports.params = {
//Parameters declared in service
}

If there are any parameters declared in-script from the service, UGS CLI will not update the parameters.

Parsing Limitations

Create script and Update script evaluate the given Cloud Code script to parse the parameters. As a result, these commands cannot parse parameters if you declare them at the beginning and overwrite/delete them after.

For example, this script is problematic:

const _ = require("lodash-4.17");

const NUMBER_OF_SIDES = 6;

module.exports.params = {
sides: "NUMERIC"
};

module.exports = async ({ params, context, logger }) => {
// ...
};

// Functions can exist outside of the script wrapper
function rollDice(sides) {
return _.random(1, sides);
}

The script defines module.exports.params at the beginning, but then it is overwritten by module.exports = async ..., so Create script or Update script cannot parse the parameters.